package entity.Car.bo;

import entity.Car.model.Car;
import entity.Car.model.Transport;
import entity.Car.model.reference.*;

import java.util.List;

/**
 * Created by vanches on 7.1.15.
 */
public interface CarBo {


    List<Car> getAllCar();
    List<Car> carSearch(Brand brand, Model model,double priceMin, double priceMax);
    Car getCarId(int id);
    void addCar(Car car,Transport transport);
    void deleteCar(Car car);
    void updateCar(Car car);


    List<Transmission> getAllTransmission();
    Transmission getTransmissionId(int id);
    void addTransmission(Transmission transmission);
    void deleteTransmission(Transmission transmission);
    void updateTransmission(Transmission transmission);

    List<BodyType> getAllBodyType();
    BodyType getBodyTypeId(int id);
    void addBodyType(BodyType bodyType);
    void deleteBodyType(BodyType bodyType);
    void updateBodyType(BodyType bodyType);

    List<Brand> getAllBrand();
    Brand getBrandId(int id);
    void addBrand(Brand brand);
    void deleteBrand(Brand brand);
    void updateBrand(Brand brand);

    List<Color> getAllColor();
    Color getColorId(int id);
    void addColor(Color color);
    void deleteColor(Color color);
    void updateColor(Color color);

    List<Condition> getAllCondition();
    Condition getConditionId(int id);
    void addCondition(Condition condition);
    void deleteCondition(Condition condition);
    void updateCondition(Condition condition);

    List<Currency> getAllCurrency();
    Currency getCurrencyId(int id);
    void addCurrency(Currency currency);
    void deleteCurrency(Currency currency);
    void updateCurrency(Currency currency);

    List<Model> getAllModel();
    Model getModelId(int id);
    void addModel(Model model);
    void deleteModel(Model model);
    void updateModel(Model model);

    List<Privod> getAllPrivod();
    Privod getPrivodId(int id);
    void addPrivod(Privod privod);
    void deletePrivod(Privod privod);
    void updatePrivod(Privod privod);

    List<TypeEngine> getAllTypeEngine();
    TypeEngine getTypeEngineId(int id);
    void addTypeEngine(TypeEngine typeEngine);
    void deleteTypeEngine(TypeEngine typeEngine);
    void updateTypeEngine(TypeEngine typeEngine );


}
